package com.ftg.learn.lesson4;

import java.util.Arrays;
import java.util.Random;

/**
 * 学习牌
 *
 * @author kangjx
 * @version 1.0
 * @date 2023/6/16 上午8:05
 */
public class ArrayPractice02_poke {

    /**
     * 生成王
     * 888 大王
     * 666 小王
     */
    private static int BIG_KING = 888;
    private static int SMALL_KING = 666;

    /**
     * 全局变量 : 定义在方法 的外面，类的内部
     * 在当前类的任选位置都可以访问
     */
    private static int[] cards = new int[54];

    /**
     * 生成54张
     */
    public static void initCards() {
        king();
        oneColorCard(CardType.黑桃);
        oneColorCard(CardType.红桃);
        oneColorCard(CardType.方块);
        oneColorCard(CardType.梅花);
    }

    /**
     * 一种颜色的卡片
     * 我们是否想要color可以有范围
     */
    private static void oneColorCard(CardType color) {
        //姿色
        int high = 0;
        switch (color) {
            case 红桃:
                high = 2;
                break;
            case 黑桃:
                high = 1;
                break;
            case 方块:
                high = 3;
                break;
            default:
                high = 4;
        }

        //给値
        for (int i = 0; i < 13; i++) {
            cards[(high - 1) * 13 + i] = high * 100 + i + 1;
        }


    }

    /**
     * 就是为了生成大小王
     */
    private static void king() {
        cards[cards.length - 1] = BIG_KING;
        cards[cards.length - 2] = SMALL_KING;
    }

    /**
     * 选择一张
     *
     * @return
     */
    public static int chooseCard() {
        Random r = new Random();
        return cards[r.nextInt(cards.length)];
    }

    /**
     * 这是什么牌
     *
     * @return
     */
    public static String tellMe() {

        return "";
    }

    /**
     * 洗牌
     */
    public static void washCard() {

    }

    public static void main(String[] args) {
        initCards();
        System.out.println(Arrays.toString(cards));
        System.out.println(chooseCard());
    }

}
